package com.icss.lesson2;

import java.util.Arrays;

public class TestMain7 {
    public static void main(String[] args) {
        // 基本类型默认是0
        int[] a1 = new int[3];
        a1[0] = 1;
        a1[2] = 10;

        // a1[3] = 10; // runtimeexcepition || 编译时异常
        // 数组的遍历
        for (int i = 0; i < a1.length; i++) {
            System.out.println(a1[i]);
        }

        // 引用类型默认是null
        String[] a2 = new String[3];

        for (int i = 0; i < a2.length; i++) {
            System.out.println(a2[i]);
        }
        System.out.println("---------------------");
        // 方式二：
        int[] a3 = {1, 3, 5, 7};
        for (int item: a3) { // foreach循环增强for循环
            System.out.println(item);
        }
        System.out.println("---------------------");
        int[] a4 = {33, 11, 22,  1, 5, 4,2,3};
        // 默认升序排序方法
        Arrays.sort(a4);
        for (int item: a4) {
            System.out.println(item);
        }
        System.out.println("-------冒泡--------------");
        int[] a5 = {33, 11, 22,  1, 5, 4,2,3};
        for (int i = 0; i < a5.length - 1; i++) {
            System.out.print(" 外层 " + i);
            System.out.print("\t当前数组" );
            for (int item: a5) {
                System.out.print(item + ",");
            }
            System.out.println();
            for (int j = 0; j < a5.length - 1 - i; j++) {
                System.out.print(" 里层 " + j + "\t");
                System.out.print(" a5[j] 和 a5[j + 1] " +a5[j] +  ", "+ a5[j + 1]);
                if (a5[j] > a5[j + 1]) {
                    System.out.print("需要换位置");
                    int temp = a5[j];
                    a5[j] = a5[j + 1];
                    a5[j + 1] = temp;
                }
                System.out.println();
            }
        }
        for (int item: a5) {
            System.out.println(item);
        }

    }
}
